/**   
* @Project:	Mybatis
* @Title: UserMapper.java
* @Package com.sise.mybatis.mapper
* @Description: TODO(用一句话描述该文件做什么)
* @author: zhiguo.lin   
* @date 2016年8月18日 下午11:29:27
* @CopyRight: CopyRight@2016
* @version V1.0   
*/


package com.sise.mybatis.mapper;

import java.util.List;

import com.sise.mybatis.po.User;
import com.sise.mybatis.po.UserQueryVo;


/**
 * @ClassName: UserMapper
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author: zhiguo.lin
 * @date 2016年8月18日 下午11:29:27
 * 
 */

public interface UserMapper {
    
    /** 
     * @Title: findUserById 
     * @Description: 根据id查找用户
     * @param userId
     * @throws Exception
     * @return void 
     */ 
     
     public abstract User findUserById(Integer userId) throws Exception;
     
     
     /** 
     * @Title: findUserByUsername 
     * @Description: 根据名称模糊查询用户记录
     * @throws Exception
     * @return void 
     */ 
     
     public abstract List<User> findUserByName(String username) throws Exception;
     
     
     /** 
     * @Title: insertUser 
     * @Description: 添加用户
     * @param user
     * @throws Exception
     * @return void 
     */ 
     
     public abstract Integer insertUser(User user) throws Exception;
     
     
     /** 
     * @Title: deleteUser 
     * @Description: TODO(这里用一句话描述这个方法的作用) 
     * @param userId
     * @throws Exception
     * @return void 
     */ 
     
     
     public abstract Integer deleteUser(Integer userId) throws Exception; 
     
     
     /** 
     * @Title: modifyUser 
     * @Description: 更新用户记录
     * @param user
     * @return
     * @throws Exception
     * @return Integer 
     */ 
     
     public abstract Integer modifyUser(User user) throws Exception;
     
     
    /** 
    * @Title: findUserList 
    * @Description: 根据UserQueryVo封装的条件查询用户列表
    * @return
    * @throws Exception
    * @return List<User> 
    */ 
    
    public abstract List<User> findUserList(UserQueryVo userQueryVo) throws Exception;
    
    
    /** 
    * @Title: findUserCount 
    * @Description: 根据UserQueryVo封装的条件查询用户总记录数
    * @param userQueryVo
    * @return
    * @throws Exception
    * @return Integer 
    */ 
    
    public abstract Integer findUserCount(UserQueryVo userQueryVo) throws Exception;
    
    
    /** 
    * @Title: findUserByIdResultMap 
    * @Description: 
    * @param userId
    * @return
    * @throws Exception
    * @return User 
    */ 
    
    public abstract User findUserByIdResultMap(Integer userId) throws Exception;
    
    
    /** 
    * @Title: findUserAndItemsResultMap 
    * @Description: 查询用户购买商品的信息
    * @return
    * @throws Exception
    * @return List<User> 
    */ 
    
    public abstract List<User> findUserAndItemsResultMap() throws Exception;

}
